package com.debby.test.fish;

import android.app.Activity;
import android.content.ComponentName;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.TextView;
import android.widget.Toast;

import com.debby.xpsoft.ModifyDataUtil;
import com.wiyun.offer.WiOffer;
import com.wiyun.offer.WiOfferClient;

public class FishfreeActivity extends Activity {
    /** Called when the activity is first created. */
	private static final String APP_KEY = "d1341565f6559404";
	private static final String SECRET_KEY = "a8AxKFmhv9qB6kH3TfbqHejwjvJryayc";
	private TextView iconstv;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.main);
        iconstv = (TextView) findViewById(R.id.icons);
        WiOffer.init(this, APP_KEY, SECRET_KEY);
        init() ;
        Integer now = SPUtility.getSPInteger(getApplicationContext(), "now");
    	if(now>20){
    		mCoins = 0;
    		start = 0;
    	}else{
    		now++;
    		SPUtility.putSPInteger(getApplicationContext(), "now", now);
    	}
        iconstv.setText(""+mCoins);
        
    }
    
    public void openoffer(View view){
    	WiOffer.showOffers();
    }
    
    public void outapp(View view){
    	finish();
    }
    public void change(View view){
		Intent intent = new Intent(this,ChangePropActivity.class);
		intent.putExtra("mCoins", mCoins);
    	startActivity(intent);
	}
    public void startgame(View view){
    	try {
    		ModifyDataUtil.aaa();
			ModifyDataUtil.bbb(openDatabase(),mCoins);
		} catch (Exception e) {
			Toast.makeText(getApplicationContext(), "操作失败！无法获得Root权限或者返回重试", Toast.LENGTH_LONG).show();
			Intent intent = new Intent();
			intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
	    	intent.setComponent(new ComponentName("com.sg.android.fish","com.sg.android.fish.FishActivity"));
	    	getApplicationContext().startActivity(intent);
			e.printStackTrace();
			return ;
		}
    	ModifyDataUtil.ccc();
    	//使用的金币;
    	WiOffer.useCoins(mCoins);
    	Toast.makeText(this, "成功转移"+mCoins+"金币", Toast.LENGTH_LONG).show();

		Intent intent = new Intent();
		intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    	intent.setComponent(new ComponentName("com.sg.android.fish","com.sg.android.fish.FishActivity"));
    	getApplicationContext().startActivity(intent);
	
    }
    private int start = 100;
    public static int mCoins = 100;
    private void init() {
		WiOffer.init(this, APP_KEY, SECRET_KEY);
		WiOffer.addWiOfferClient(new WiOfferClient() {
			@Override
			public void wyOfferCompleted(String offerId, String offerName, int bonus) {
				// 刷新用户的金币数量, 仅当您选择了"微云托管"方式时需要调用
				WiOffer.getCoins();
			}
			
			@Override
			public void wyCoinsGot(int count) {
				mCoins = count+start;
				iconstv.setText(""+mCoins);
			}
			
			@Override
			public void wyGetCoinsFailed(String error) {
//				mMyCoinsText.setText(R.string.get_coins_failed);
			}
			
			@Override
			public void wyAddCoinsFailed(String error) {
//				Toast.makeText(FishfreeActivity.this, "add coin error: " + error, Toast.LENGTH_SHORT).show();
			}
			
			@Override
			public void wyCoinsAdded(int count) {
				mCoins += count;
				iconstv.setText(""+mCoins);
//				mMyCoinsText.setText(String.format(getString(R.string.my_coins), mCoins));
			}
			
			@Override
			public void wyCoinsUsed(int count) {
				mCoins -= count;
				iconstv.setText(""+mCoins);
//				mMyCoinsText.setText(String.format(getString(R.string.my_coins), mCoins));
			}
			
			@Override
			public void wyUseCoinsFailed(String error) {
//				Toast.makeText(FishfreeActivity.this, "use coin error: " + error, Toast.LENGTH_SHORT).show();
			}
		});
		
		// 您可以设置任何额外信息，这些信息会被回传给服务器
		WiOffer.setExtraInfo("test_key", "test_value");
		
		// 您可以为offer界面设置一个自定义的标题, 缺省的标题是"赚取XX", XX是您在后台设置的虚拟货币名称
		WiOffer.setTitle("赚取金币");
		
		// 如果要测试offer功能，可以打开沙箱模式, 在正式发布时务必去掉
//		WiOffer.setSandboxMode(true);
		
		// 获得当前用户的金币数量，如果您使用WiGame集成方式，则不需要调用这个方法
		// 如果您使用自己的服务器保存货币数量，则请调用您自己的方法
		// 如果您在本地保存用户的货币数量，则也不需要调用此方法
		// demo使用的是微云托管模式，即用户货币存放在微云服务器端，因此可以调用这个方法获得
		WiOffer.getCoins();
		
		// 如果您同时也使用了WiGame, 那么也同时初始化WiGame
//		WiGame.init(htis, APP_KEY, SECRET_KEY);
		
		// 如果WiOffer设置了使用沙箱，那么WiGame也请设置到沙箱，这样可以联合测试
//		WiGame.setSandboxMode(true);
	}
    
	@Override
	protected void onResume() {
		super.onResume();
		iconstv.setText(""+mCoins);
	}
	private final String DATABASE_PATH = android.os.Environment
			.getExternalStorageDirectory().getAbsolutePath() + "";
	private final String DATABASE_FILENAME = "temp";
	SQLiteDatabase database;
	
	private SQLiteDatabase openDatabase() {
		try {
			// 获得dictionary.db文件的绝对路径
			String databaseFilename = DATABASE_PATH + "/" + DATABASE_FILENAME;
//			File dir = new File(DATABASE_PATH);
//			// 如果/sdcard/dictionary目录中存在，创建这个目录
////			if (!dir.exists())
////				dir.mkdir();
//			// 如果在/sdcard/dictionary目录中不存在
//			// dictionary.db文件，则从res\raw目录中复制这个文件到
//			// SD卡的目录（/sdcard/dictionary）
//			if (!(new File(databaseFilename)).exists()) {
//				// 获得封装dictionary.db文件的InputStream对象
//				InputStream is = null;// getResources().openRawResource(R.raw.dictionary);
//				FileOutputStream fos = new FileOutputStream(databaseFilename);
//				byte[] buffer = new byte[8192];
//				int count = 0;
//				// 开始复制dictionary.db文件
//				while ((count = is.read(buffer)) > 0) {
//					fos.write(buffer, 0, count);
//				}
//
//				fos.close();
//				is.close();
//			}
			// 打开/sdcard/dictionary目录中的dictionary.db文件
			SQLiteDatabase database = this.openOrCreateDatabase(databaseFilename,   
                    Activity.MODE_WORLD_WRITEABLE, null);   

//			 = SQLiteDatabase.openOrCreateDatabase(
//					databaseFilename,Activity.MODE_PRIVATE, null);
			return database;
		} catch (Exception e) {
		}
		return null;
	}
	
}